﻿namespace GamFi.API.Application.Contracts.Token.PostAddToken;

/// <summary>
/// Запрос на добавление токена
/// </summary>
public class PostAddTokenRequest
{
    /// <summary>
    /// Пустой конструктор
    /// </summary>
    public PostAddTokenRequest()
    {
    }
    
    /// <summary>
    /// Конструктор
    /// </summary>
    /// <param name="request"></param>
    public PostAddTokenRequest(PostAddTokenRequest request)
    {
        Name = request.Name;
        TokenPrice = request.TokenPrice;
        TokenSymbol = request.TokenSymbol;
        ChainId = request.ChainId;
        TargetedRaise = request.TargetedRaise;
        TokenSummary = request.TokenSummary;
        ImageId = request.ImageId;
    }
    
    
    /// <summary>
    /// Название
    /// </summary>
    public string Name { get; set; } = default!;
    
    /// <summary>
    /// Цена токена
    /// </summary>
    public double TokenPrice { get; set; }
    
    /// <summary>
    /// Трёхбуквенный код токена
    /// </summary>
    public string TokenSymbol { get; set; } = default!;
    
    /// <summary>
    /// Ссылка на ИД чейна
    /// </summary>
    public Guid ChainId { get; set; }
    
    /// <summary>
    /// Целевая сумма
    /// </summary>
    public double TargetedRaise { get; set; }
    
    /// <summary>
    /// Текст
    /// </summary>
    public string TokenSummary { get; set; } = default!;
    
    /// <summary>
    /// ИД картинки
    /// </summary>
    public string? ImageId { get; set; }
}